package com.bawei.car.mapper;

import java.util.List;
import com.bawei.car.domain.ShopCar;
import org.apache.ibatis.annotations.Param;

/**
 * 张氏企业帝国商品总览Mapper接口
 *
 * @author 张氏企业帝国老总
 * @date 2022-11-16
 */
public interface ShopCarMapper
{
    /**
     * 查询张氏企业帝国商品总览
     *
     * @param id 张氏企业帝国商品总览主键
     * @return 张氏企业帝国商品总览
     */
    public ShopCar selectShopCarById(Long id);

    /**
     * 查询张氏企业帝国商品总览列表
     *
     * @param shopCar 张氏企业帝国商品总览
     * @return 张氏企业帝国商品总览集合
     */
    public List<ShopCar> selectShopCarList(ShopCar shopCar);

    /**
     * 新增张氏企业帝国商品总览
     *
     * @param shopCar 张氏企业帝国商品总览
     * @return 结果
     */
    public int insertShopCar(ShopCar shopCar);

    /**
     * 修改张氏企业帝国商品总览
     *
     * @param shopCar 张氏企业帝国商品总览
     * @return 结果
     */
    public int updateShopCar(ShopCar shopCar);

    /**
     * 删除张氏企业帝国商品总览
     *
     * @param id 张氏企业帝国商品总览主键
     * @return 结果
     */
    public int deleteShopCarById(Long id);

    /**
     * 批量删除张氏企业帝国商品总览
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteShopCarByIds(Long[] ids);

    /**
     * 修改数量
     * @param userId
     * @param productSkuId
     * @param productId
     * @param number
     */
    void upNumberToShopCar(@Param("userId") String userId, @Param("productSkuId") String productSkuId, @Param("productId") Long productId, @Param("number") Long number);

    /**
     * 修改选中状态
     * @param shopCar1
     */
    void upChecked(ShopCar shopCar1);

    /**
     * 修改sku
     * @param shopCar
     */
    void upSkuShopCar(ShopCar shopCar);

    /**
     * 修改 sku 和 数量
     * @param shopCar
     */
    void upSkuAndNumberShopCar(ShopCar shopCar);

    /**
     * 删除购物车数据
     * @param shopCar
     */
    void deleteShopCarByShopCar(ShopCar shopCar);
}
